package com.hyc.myvideo.widget;

import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.ListView;

/**
 * 自定义控件列表
 *
 * @author gongyibing
 * @version 1.0
 * @created 2017/07/15
 */
public class CommonListView extends ListView {
  private boolean haveScrollbar = false;

  public CommonListView(Context context) {
    super(context);
  }

  public CommonListView(Context context, AttributeSet attrs) {
    super(context, attrs);
  }

  public CommonListView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
  }

  @Override
  public boolean dispatchTouchEvent(MotionEvent ev) {
    if (ev.getAction() == MotionEvent.ACTION_MOVE) {
      return true;  //禁止GridView滑动
    }
    return super.dispatchTouchEvent(ev);
  }

  /**
   * 设置是否有ScrollBar，当要在ScollView中显示时，应当设置为false。 默认为 true
   */
  public void setHaveScrollbar(boolean haveScrollbar) {
    this.haveScrollbar = haveScrollbar;
  }

  @Override
  protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    if (haveScrollbar == false) {
      int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
      super.onMeasure(widthMeasureSpec, expandSpec);
    } else {
      super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    }
  }
}
